home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 8
/
FM Towns Free Software Collection 8.iso
/
t_os
/
cdlist
/
cdlist.bas
next >
Wrap
BASIC Source File
|
1994-06-01
|
29KB
|
796 lines
10 '
20 '<<<<< .CDLファイルエディタ >>>>>
30 '<<<<< CDLister V1.1 >>>>>
40 '<<<<< programed by KIM(Takefumi Kimura) 1994 >>>>>
50 '
60 *INIT
70 CLEAR:CLEAR,,,200000:CONSOLE 0,24,2
80 SCREEN 0:SCREEN@0:CLS
90 ON ERROR GOTO *E_TRAP
100 DIM TITLE$(10),ART$(10),LAB$(10),DT$(10),SN(10),TIF$(10),WRD$(10)
110 DIM TM$(10,99),SNAME$(10,99),PT1%(29000),PT3%(23000)
120 PLAYCD=0
130 LOAD@"CDLVP.TIF"
140 OPEN "I",#1,"CDLVHIS.DAT"
150 LINE INPUT#1,FILE$
160 CLOSE
170 *MOUSE_INIT
180 MOUSE 0
190 MOUSE 1,320,240,1
200 '
210 GOSUB *LOAD
220 '
230 *MAIN
240 WHILE MOUSE(2,0)=0
250 A%=CDS%(5)
260 IF PLAYCD=1 THEN
270 CDSTAT CDS%
280 IF A%<>CDS%(5) THEN
290 IF CDS%(5)=0 THEN GOSUB *CDSTOP:GOTO 330
300 PLAYCDN=CDS%(5):GOSUB *SYMBOL_PLAYCD
310 ENDIF
320 ENDIF
330 WEND
340 MX=MOUSE(0):MY=MOUSE(1)
350 FOR Z=0 TO 1
360 IF MX>528+Z*48 AND MX<576+Z*48 AND MY>160 AND MY<176 THEN
370 ON Z+1 GOSUB *S_ROLL_U,*S_ROLL_D
380 ENDIF
390 IF MX>16+Z*48 AND MX<64+Z*48 AND MY>224 AND MY<240 THEN
400 ON Z+1 GOSUB *CDBACK,*CDNEXT
410 ENDIF
420 IF MX>272 AND MX<624 AND MY>40+Z*24 AND MY<64+Z*24 THEN
430 ON Z+1 GOSUB *EDIT_TITLE,*EDIT_ART
440 ENDIF
450 IF MX>272 AND MX<400 AND MY>88+Z*24 AND MY<112+Z*24 THEN
460 ON Z+1 GOSUB *EDIT_DT,*EDIT_TIF
470 ENDIF
480 IF MX>464 AND MX<624 AND MY>88+Z*24 AND MY<112+Z*24 THEN
490 ON Z+1 GOSUB *EDIT_LAB,*EDIT_WRD
500 ENDIF
510 NEXT
520 FOR Z=0 TO 11
530 IF Z+CS>SN(CCD) THEN 570
540 IF MX>224 AND MX<624 AND MY>176+Z*24 AND MY<200+Z*24 THEN
550 CES=Z:GOSUB *EDIT_SNAME
560 ENDIF
570 NEXT
580 IF MX>112 AND MX<160 AND MY>224 AND MY<248 THEN GOSUB *CDPLAY
590 IF MX>160 AND MX<200 AND MY>224 AND MY<248 THEN GOSUB *CDSTOP
600 IF MX>616 AND MX<641 AND MY>-1 AND MY<24 THEN GOSUB *EXIT
610 FOR Z=0 TO 4
620 IF MX>64+Z*80 AND MX<144+Z*80 AND MY>-1 AND MY<24 THEN
630 ON Z+1 GOSUB *TITLE_SELECT,*LOAD,*SAVE,*TITLE_SORT,*TITLE_ADD
640 ENDIF
650 NEXT
660 IF MX>-1 AND MX<64 AND MY>-1 AND MY<24 THEN GOSUB *COPYRIGHT
670 GOTO *MAIN
680 *DISPLAY_CT
690 LINE(130,116)-(208,132),PSET,0,BF
700 A1$=STR$(CCD):A2$=STR$(CDN)
710 SYMBOL(136,116),RIGHT$("000"+RIGHT$(A1$,LEN(A1$)-1),4)+"/"+RIGHT$("000"+RIGHT$(A2$,LEN(A2$)-1),4),1,1,%12
720 RETURN
730 *DISPLAY_CDDATA
740 FOR I=0 TO 1
750 LINE(276,44+24*I)-(616,60+24*I),PSET,%1,BF
760 LINE(276,92+24*I)-(392,108+24*I),PSET,%1,BF
770 LINE(472,92+24*I)-(616,108+24*I),PSET,%1,BF
780 NEXT
790 LINE(352,140)-(392,156),PSET,%1,BF
800 LINE(472,140)-(488,156),PSET,%1,BF
810 A3=0
820 FOR I=1 TO SN(CCD)
830 A1=VAL(LEFT$(TM$(CCD,I),2)):A2=VAL(RIGHT$(TM$(CCD,I),2))
840 A3=A3+A1*60+A2
850 NEXT
860 TM1$=STR$(INT(A3/60)):TM2$=STR$(A3 MOD 60)
870 TMCD$=RIGHT$("00"+RIGHT$(TM1$,LEN(TM1$)-1),2)+"'"+RIGHT$("00"+RIGHT$(TM2$,LEN(TM2$)-1),2)
880 SYMBOL(448-LEN(TITLE$(CCD))*4,44),TITLE$(CCD),1,1,7
890 SYMBOL(448-LEN(ART$(CCD))*4,68),ART$(CCD),1,1,7
900 SYMBOL(336-LEN(DT$(CCD))*4,92),DT$(CCD),1,1,7
910 SYMBOL(336-LEN(TIF$(CCD))*4,116),TIF$(CCD),1,1,7
920 IF LEN(LAB$(CCD))>18 THEN A$=LEFT$(LAB$(CCD),18) ELSE A$=LAB$(CCD)
930 SYMBOL(544-LEN(A$)*4,92),A$,1,1,7
940 SYMBOL(544-LEN(WRD$(CCD))*4,116),WRD$(CCD),1,1,7
950 SYMBOL(352,140),TMCD$,1,1,7
960 SYMBOL(464,140),STR$(SN(CCD)),1,1,7
970 RETURN
980 *DISPLAY_SNAMES
990 FOR I=0 TO 11
1000 LINE(226,180+I*24)-(622,196+I*24),PSET,%1,BF
1010 IF I+1>SN(CCD) THEN 1050
1020 SYMBOL(226-8,180+I*24),STR$(I+1),1,1,%6
1030 SYMBOL(412-LEN(SNAME$(CCD,I+1))*4,180+I*24),SNAME$(CCD,I+1),1,1,7
1040 SYMBOL(583,180+I*24),TM$(CCD,I+1),1,1,%7
1050 NEXT
1060 RETURN
1070 *LOAD
1080 CONNECT(145,23)-(145,1)-(223,1),%13
1090 CONNECT(146,23)-(223,23)-(223,2),%14
1100 WHILE MOUSE(2,0):WEND
1110 CONNECT(145,23)-(145,1)-(223,1),%14
1120 CONNECT(146,23)-(223,23)-(223,2),%13
1130 GOSUB *FILE_IP_P
1140 SYMBOL(144,200),".CDLファイル読込",1,1,7
1150 GOSUB *FILE_IP_L
1160 OPEN "I",#1,FILE$
1170 INPUT#1,A$:CDN=VAL(A$)
1180 ERASE TITLE$,ART$,LAB$,DT$,SN,TIF$,WRD$,TM$,SNAME$
1190 DIM TITLE$(CDN),ART$(CDN),LAB$(CDN),DT$(CDN),SN(CDN),TIF$(CDN),WRD$(CDN)
1200 DIM TM$(CDN,99),SNAME$(CDN,99)
1210 FOR I=1 TO CDN
1220 INPUT#1,DUMMY$
1230 INPUT#1,TITLE$(I),ART$(I),LAB$(I),DT$(I),SN(I),TIF$(I),WRD$(I)
1240 FOR J=1 TO SN(I)
1250 INPUT#1,TM$(I,J),SNAME$(I,J)
1260 NEXT J,I
1270 CLOSE
1280 LINE(56,84)-(200,100),PSET,0,BF
1290 SYMBOL(56,84),LEFT$(FILE$+SPACE$(19),19),1,1,%12
1300 CCD=1:CLCD=CCD:CS=1
1310 GOSUB *DISPLAY_CT:GOSUB *DISPLAY_CDDATA
1320 GOSUB *DISPLAY_SNAMES
1330 RETURN
1340 *FILE_IP_P
1350 GOSUB *WINDOW
1360 LINE(144,232)-(498,256),PSET,%13,BF
1370 IP_WX=152:IP_WY=236:IP_MAX=42:IP_CL=13:IP_NAME$=FILE$
1380 GOSUB *IP_SET
1390 RETURN
1400 *FILE_IP_L
1410 M=0
1420 WHILE M=0
1430 M=-MOUSE(2,0)-MOUSE(2,1)*2
1440 GOSUB *IP_MAIN
1450 WEND
1460 IF M=2 THEN PUT@A(128,128)-(512,352),PT3%:RETURN 1330
1470 MX=MOUSE(0):MY=MOUSE(1)
1480 GOSUB *W_CHECK_YN
1490 IF YN=1 THEN 1520
1500 IF YN=2 THEN PUT@A(128,128)-(512,352),PT3%:RETURN 1330
1510 GOTO *FILE_IP_L
1520 FILE$=IP_NAME$
1530 PUT@A(128,128)-(512,352),PT3%
1540 IF RIGHT$(FILE$,4)<>".CDL" THEN FILE$=FILE$+".CDL"
1550 RETURN
1560 *S_ROLL_U
1570 CONNECT(529,175)-(529,161)-(575,161),%13
1580 CONNECT(530,175)-(575,175)-(575,162),%14
1590 IF CS=<1 THEN 1670
1600 CS=CS-1
1610 GET@A(224,176)-(624,440),PT1%
1620 PUT@A(224,200)-(624,464),PT1%
1630 LINE(226,180)-(622,196),PSET,%1,BF
1640 SYMBOL(226-8,180),STR$(CS),1,1,%6
1650 SYMBOL(412-LEN(SNAME$(CCD,CS))*4,180),SNAME$(CCD,CS),1,1,7
1660 SYMBOL(583,180),TM$(CCD,CS),1,1,%7
1670 CONNECT(529,175)-(529,161)-(575,161),%14
1680 CONNECT(530,175)-(575,175)-(575,162),%13
1690 RETURN
1700 *S_ROLL_D
1710 CONNECT(577,175)-(577,161)-(623,161),%13
1720 CONNECT(578,175)-(623,175)-(623,162),%14
1730 IF CS>=SN(CCD)-11 THEN 1810
1740 CS=CS+1
1750 GET@A(224,200)-(624,464),PT1%
1760 PUT@A(224,176)-(624,440),PT1%
1770 LINE(226,444)-(622,460),PSET,%1,BF
1780 SYMBOL(226-8,444),STR$(CS+11),1,1,%6
1790 SYMBOL(412-LEN(SNAME$(CCD,CS+11))*4,444),SNAME$(CCD,CS+11),1,1,7
1800 SYMBOL(583,444),TM$(CCD,CS+11),1,1,%7
1810 CONNECT(577,175)-(577,161)-(623,161),%14
1820 CONNECT(578,175)-(623,175)-(623,162),%13
1830 RETURN
1840 *TITLE_SELECT
1850 CONNECT(65,23)-(65,1)-(143,1),%13
1860 CONNECT(66,23)-(143,23)-(143,2),%14
1870 WHILE MOUSE(2,0):WEND
1880 CONNECT(65,23)-(65,1)-(143,1),%14
1890 CONNECT(66,23)-(143,23)-(143,2),%13
1900 GET@A(128,128)-(512,352),PT3%
1910 GOSUB *WINDOW_S
1920 SYMBOL(144,136),"タイトル選択",1,1,7,,,1
1930 FOR I=0 TO 6
1940 J=I+CLCD
1950 IF J>CDN THEN I=6:GOTO 1970
1960 SYMBOL(320-LEN(TITLE$(J))*4,172+I*24),TITLE$(J),1,1,7
1970 NEXT
1980 M=0
1990 WHILE M=0
2000 M=-MOUSE(2,0)-MOUSE(2,1)*2
2010 WEND
2020 IF M=2 THEN PUT@A(128,128)-(512,352),PT3%:RETURN
2030 MX=MOUSE(0):MY=MOUSE(1)
2040 FOR I=0 TO 1
2050 IF MX>400+I*48 AND MX<448+I*48 AND MY>152 AND MY<168 THEN
2060 ON I+1 GOSUB *T_ROLL_U,*T_ROLL_D
2070 ENDIF
2080 NEXT
2090 FOR I=0 TO 6
2100 IF I+CLCD>CDN THEN I=6:GOTO 1970
2110 IF MX>144 AND MX<496 AND MY>168+I*24 AND MY<192+I*24 THEN
2120 K=I:I=6:NEXT:GOTO 2160
2130 ENDIF
2140 NEXT
2150 GOTO 1980
2160 CONNECT(145,191+K*24)-(145,169+K*24)-(495,169+K*24),%13
2170 CONNECT(146,191+K*24)-(495,191+K*24)-(495,170+K*24),%14
2180 WHILE MOUSE(2,0):WEND
2190 PUT@A(128,128)-(512,352),PT3%
2200 CCD=CLCD+K:CS=1
2210 GOSUB *DISPLAY_CT:GOSUB *DISPLAY_CDDATA
2220 GOSUB *DISPLAY_SNAMES
2230 RETURN
2240 *TITLE_SORT
2250 IF CDN<1 THEN RETURN
2260 DIM BTITLE$(CDN),BART$(CDN),BLAB$(CDN),BDT$(CDN),BSN(CDN),BTIF$(CDN),BWRD$(CDN)
2270 DIM BTM$(CDN,99),BSNAME$(CDN,99),TSRT(CDN),NN(CDN)
2280 SORT=1:CLCD=1
2290 CONNECT(305,23)-(305,1)-(383,1),%13
2300 CONNECT(306,23)-(383,23)-(383,2),%14
2310 WHILE MOUSE(2,0):WEND
2320 CONNECT(305,23)-(305,1)-(383,1),%14
2330 CONNECT(306,23)-(383,23)-(383,2),%13
2340 GET@A(128,128)-(512,352),PT3%
2350 GOSUB *WINDOW_S
2360 SYMBOL(144,136),"タイトル並び換え",1,1,7,,,1
2370 FOR I=0 TO 6
2380 J=I+CLCD
2390 IF J>CDN THEN I=6:GOTO 2410
2400 SYMBOL(320-LEN(TITLE$(J))*4,172+I*24),TITLE$(J),1,1,7
2410 NEXT
2420 FOR J=1 TO CDN
2430 BTITLE$(J)=TITLE$(J):BART$(J)=ART$(J):BLAB$(J)=LAB$(J)
2440 BDT$(J)=DT$(J):BSN(J)=SN(J):BTIF$(J)=TIF$(J):BWRD$(J)=WRD$(J)
2450 FOR L=1 TO SN(J)
2460 BTM$(J,L)=TM$(J,L):BSNAME$(J,L)=SNAME$(J,L)
2470 NEXT
2480 LINE(280,136)-(500,152),PSET,%1,BF
2490 SYMBOL(280,136),AKCNV$(STR$(J))+"番目",1,1,%7
2500 M=0
2510 WHILE M=0
2520 M=-MOUSE(2,0)-MOUSE(2,1)*2
2530 WEND
2540 IF M=2 THEN PUT@A(128,128)-(512,352),PT3%:GOTO 2980
2550 MX=MOUSE(0):MY=MOUSE(1)
2560 FOR I=0 TO 1
2570 IF MX>400+I*48 AND MX<448+I*48 AND MY>152 AND MY<168 THEN
2580 ON I+1 GOSUB *T_ROLL_U,*T_ROLL_D
2590 ENDIF
2600 NEXT
2610 FOR I=0 TO 6
2620 IF I+CLCD>CDN THEN I=6:GOTO 2670
2630 IF TSRT(I+CLCD)=1 THEN 2670
2640 IF MX>144 AND MX<496 AND MY>168+I*24 AND MY<192+I*24 THEN
2650 K=I:I=6:NEXT:GOTO 2690
2660 ENDIF
2670 NEXT
2680 GOTO 2500
2690 CONNECT(145,191+K*24)-(145,169+K*24)-(495,169+K*24),%13
2700 CONNECT(146,191+K*24)-(495,191+K*24)-(495,170+K*24),%14
2710 WHILE MOUSE(2,0):WEND
2720 TSRT(K+CLCD)=1:NN(J)=K+CLCD
2730 CONNECT(145,191+K*24)-(145,169+K*24)-(495,169+K*24),%14
2740 CONNECT(146,191+K*24)-(495,191+K*24)-(495,170+K*24),%13
2750 SYMBOL(320-LEN(TITLE$(K+CLCD))*4,172+K*24),TITLE$(K+CLCD),1,1,2
2760 NEXT
2770 PUT@A(128,128)-(512,352),PT3%
2780 GOSUB *WINDOW
2790 SYMBOL(235,232),"これでいいですか?",1,1,7
2800 M=0
2810 WHILE M=0
2820 M=-MOUSE(2,0)-MOUSE(2,1)*2
2830 WEND
2840 IF M=2 THEN PUT@A(128,128)-(512,352),PT3%:GOTO 2980
2850 GOSUB *W_CHECK_YN
2860 IF YN=1 THEN 2880
2870 IF YN=2 THEN PUT@A(128,128)-(512,352),PT3%:GOTO 2980 ELSE 2800
2880 PUT@A(128,128)-(512,352),PT3%
2890 FOR I=1 TO CDN:J=NN(I)
2900 TITLE$(I)=BTITLE$(J):ART$(I)=BART$(J):LAB$(I)=BLAB$(J)
2910 DT$(I)=BDT$(J):SN(I)=BSN(J):TIF$(I)=BTIF$(J):WRD$(I)=BWRD$(J)
2920 FOR L=1 TO SN(I)
2930 TM$(I,L)=BTM$(J,L):SNAME$(I,L)=BSNAME$(J,L)
2940 NEXT L,I
2950 CCD=1:CLCD=CCD:CS=1
2960 GOSUB *DISPLAY_CT:GOSUB *DISPLAY_CDDATA
2970 GOSUB *DISPLAY_SNAMES
2980 ERASE TSRT,NN
2990 ERASE BTITLE$,BART$,BLAB$,BDT$,BSN,BTIF$,BWRD$,BTM$,BSNAME$
3000 SORT=0
3010 RETURN
3020 *T_ROLL_U
3030 CONNECT(401,167)-(401,153)-(447,153),%13
3040 CONNECT(402,167)-(447,167)-(447,154),%14
3050 IF CLCD=<1 THEN 3140
3060 CLCD=CLCD-1
3070 GET@A(144,168)-(496,312),PT1%
3080 PUT@A(144,192)-(496,336),PT1%
3090 LINE(146,172)-(494,188),PSET,%1,BF
3100 IF SORT=0 THEN 3130
3110 IF TSRT(CLCD)=0 THEN 3130
3120 SYMBOL(320-LEN(TITLE$(CLCD))*4,172),TITLE$(CLCD),1,1,2:GOTO 3140
3130 SYMBOL(320-LEN(TITLE$(CLCD))*4,172),TITLE$(CLCD),1,1,7
3140 CONNECT(401,167)-(401,153)-(447,153),%14
3150 CONNECT(402,167)-(447,167)-(447,154),%13
3160 RETURN
3170 *T_ROLL_D
3180 CONNECT(449,167)-(449,153)-(495,153),%13
3190 CONNECT(450,167)-(495,167)-(495,154),%14
3200 IF CLCD>=CDN-6 THEN 3290
3210 CLCD=CLCD+1
3220 GET@A(144,192)-(496,336),PT1%
3230 PUT@A(144,168)-(496,312),PT1%
3240 LINE(146,316)-(494,332),PSET,%1,BF
3250 IF SORT=0 THEN 3280
3260 IF TSRT(CLCD+6)=0 THEN 3280
3270 SYMBOL(320-LEN(TITLE$(CLCD+6))*4,316),TITLE$(CLCD+6),1,1,2:GOTO 3290
3280 SYMBOL(320-LEN(TITLE$(CLCD+6))*4,316),TITLE$(CLCD+6),1,1,7
3290 CONNECT(449,167)-(449,153)-(495,153),%14
3300 CONNECT(450,167)-(495,167)-(495,154),%13
3310 RETURN
3320 *TITLE_ADD
3330 IF CDN<1 THEN RETURN
3340 DIM BTITLE$(CDN),BART$(CDN),BLAB$(CDN),BDT$(CDN),BSN(CDN),BTIF$(CDN),BWRD$(CDN)
3350 DIM BTM$(CDN,99),BSNAME$(CDN,99)
3360 CONNECT(385,23)-(385,1)-(463,1),%13
3370 CONNECT(386,23)-(463,23)-(463,2),%14
3380 WHILE MOUSE(2,0):WEND
3390 CONNECT(385,23)-(385,1)-(463,1),%14
3400 CONNECT(386,23)-(463,23)-(463,2),%13
3410 GET@A(128,128)-(512,352),PT3%
3420 GOSUB *WINDOW
3430 SYMBOL(144,200),"タイトル新規追加",1,1,7,,,1
3440 SYMBOL(185,232),"登録したいCDをドライブに入れて!",1,1,7
3450 IF PLAYCD=1 OR PLAYCD=2 THEN CD STOP
3460 M=0
3470 WHILE M=0
3480 M=-MOUSE(2,0)-MOUSE(2,1)*2
3490 WEND
3500 IF M=2 THEN PUT@A(128,128)-(512,352),PT3%:GOTO 3890
3510 GOSUB *W_CHECK_YN
3520 IF YN=1 THEN 3540
3530 IF YN=2 THEN PUT@A(128,128)-(512,352),PT3%:GOTO 3890 ELSE 3460
3540 PUT@A(128,128)-(512,352),PT3%
3550 CDINF CDF%
3560 FOR I=1 TO CDN
3570 BTITLE$(I)=TITLE$(I):BART$(I)=ART$(I):BLAB$(I)=LAB$(I)
3580 BDT$(I)=DT$(I):BSN(I)=SN(I):BTIF$(I)=TIF$(I):BWRD$(I)=WRD$(I)
3590 FOR L=1 TO SN(I)
3600 BTM$(I,L)=TM$(I,L):BSNAME$(I,L)=SNAME$(I,L)
3610 NEXT L,I
3620 CDN=CDN+1
3630 ERASE TITLE$,ART$,LAB$,DT$,SN,TIF$,WRD$,TM$,SNAME$
3640 DIM TITLE$(CDN),ART$(CDN),LAB$(CDN),DT$(CDN),SN(CDN),TIF$(CDN),WRD$(CDN)
3650 DIM TM$(CDN,99),SNAME$(CDN,99)
3660 FOR I=1 TO CDN-1
3670 TITLE$(I)=BTITLE$(I):ART$(I)=BART$(I):LAB$(I)=BLAB$(I)
3680 DT$(I)=BDT$(I):SN(I)=BSN(I):TIF$(I)=BTIF$(I):WRD$(I)=BWRD$(I)
3690 FOR L=1 TO SN(I)
3700 TM$(I,L)=BTM$(I,L):SNAME$(I,L)=BSNAME$(I,L)
3710 NEXT L,I
3720 SN(CDN)=CDF%(5)
3730 FOR I=1 TO SN(CDN)
3740 IF I=SN(CDN) THEN
3750 A1=CDF%(2)-VAL(LEFT$(CDSTIME$(I),2))
3760 A2=CDF%(3)-VAL(MID$(CDSTIME$(I),4,2))
3770 A21=CDF%(4)-VAL(RIGHT$(CDSTIME$(I),2)):GOTO 3820
3780 ENDIF
3790 A1=VAL(LEFT$(CDSTIME$(I+1),2))-VAL(LEFT$(CDSTIME$(I),2))
3800 A2=VAL(MID$(CDSTIME$(I+1),4,2))-VAL(MID$(CDSTIME$(I),4,2))
3810 A21=VAL(RIGHT$(CDSTIME$(I+1),2))-VAL(RIGHT$(CDSTIME$(I),2))
3820 A3=INT(A1*60+A2+A21/75)
3830 TM1$=STR$(INT(A3/60)):TM2$=STR$(A3 MOD 60)
3840 TM$(CDN,I)=RIGHT$("00"+RIGHT$(TM1$,LEN(TM1$)-1),2)+"'"+RIGHT$("00"+RIGHT$(TM2$,LEN(TM2$)-1),2)
3850 NEXT
3860 CCD=CDN:CLCD=1:CS=1
3870 GOSUB *DISPLAY_CT:GOSUB *DISPLAY_CDDATA
3880 GOSUB *DISPLAY_SNAMES
3890 ERASE BTITLE$,BART$,BLAB$,BDT$,BSN,BTIF$,BWRD$,BTM$,BSNAME$
3900 RETURN
3910 *EDIT_TITLE
3920 CONNECT(273,63)-(273,41)-(623,41),%13
3930 CONNECT(274,63)-(623,63)-(623,42),%14
3940 IP_WX=280:IP_WY=44:IP_MAX=42:IP_CL=1:IP_NAME$=TITLE$(CCD)
3950 GOSUB *IP_SET
3960 WHILE IP_CK$<>CHR$(&HD) AND IP_CK$<>CHR$(&H1E) AND IP_CK$<>CHR$(&H1F)
3970 GOSUB *IP_MAIN:WEND
3980 GOSUB *IP_END
3990 TITLE$(CCD)=IP_NAME$
4000 CONNECT(273,63)-(273,41)-(623,41),%14
4010 CONNECT(274,63)-(623,63)-(623,42),%13
4020 LINE(274,42)-(622,62),PSET,%1,BF
4030 SYMBOL(448-LEN(TITLE$(CCD))*4,44),TITLE$(CCD),1,1,7
4040 IF IP_CK$=CHR$(&H1F) THEN GOTO *EDIT_ART
4050 RETURN
4060 *EDIT_ART
4070 CONNECT(273,87)-(273,65)-(623,65),%13
4080 CONNECT(274,87)-(623,87)-(623,66),%14
4090 IP_WX=280:IP_WY=68:IP_MAX=42:IP_CL=1:IP_NAME$=ART$(CCD)
4100 GOSUB *IP_SET
4110 WHILE IP_CK$<>CHR$(&HD) AND IP_CK$<>CHR$(&H1E) AND IP_CK$<>CHR$(&H1F)
4120 GOSUB *IP_MAIN:WEND
4130 GOSUB *IP_END
4140 ART$(CCD)=IP_NAME$
4150 CONNECT(273,87)-(273,65)-(623,65),%14
4160 CONNECT(274,87)-(623,87)-(623,66),%13
4170 LINE(274,66)-(622,86),PSET,%1,BF
4180 SYMBOL(448-LEN(ART$(CCD))*4,68),ART$(CCD),1,1,7
4190 IF IP_CK$=CHR$(&H1E) THEN GOTO *EDIT_TITLE
4200 IF IP_CK$=CHR$(&H1F) THEN GOTO *EDIT_DT
4210 RETURN
4220 *EDIT_DT
4230 CONNECT(273,111)-(273,89)-(399,89),%13
4240 CONNECT(274,111)-(399,111)-(399,90),%14
4250 IP_WX=280:IP_WY=92:IP_MAX=10:IP_CL=1:IP_NAME$=DT$(CCD)
4260 LINE(274,90)-(398,110),PSET,%1,BF
4270 GOSUB *IP_SET
4280 WHILE IP_CK$<>CHR$(&HD) AND IP_CK$<>CHR$(&H1E) AND IP_CK$<>CHR$(&H1F)
4290 GOSUB *IP_MAIN:WEND
4300 GOSUB *IP_END
4310 DT$(CCD)=IP_NAME$
4320 CONNECT(273,111)-(273,89)-(399,89),%14
4330 CONNECT(274,111)-(399,111)-(399,90),%13
4340 LINE(274,90)-(398,110),PSET,%1,BF
4350 SYMBOL(336-LEN(DT$(CCD))*4,92),DT$(CCD),1,1,7
4360 IF IP_CK$=CHR$(&H1E) THEN GOTO *EDIT_ART
4370 IF IP_CK$=CHR$(&H1F) THEN GOTO *EDIT_LAB
4380 RETURN
4390 *EDIT_TIF
4400 CONNECT(273,135)-(273,113)-(399,113),%13
4410 CONNECT(274,135)-(399,135)-(399,114),%14
4420 IP_WX=280:IP_WY=116:IP_MAX=8:IP_CL=1:IP_NAME$=TIF$(CCD)
4430 LINE(274,114)-(398,134),PSET,%1,BF
4440 GOSUB *IP_SET
4450 WHILE IP_CK$<>CHR$(&HD) AND IP_CK$<>CHR$(&H1E) AND IP_CK$<>CHR$(&H1F)
4460 GOSUB *IP_MAIN:WEND
4470 GOSUB *IP_END
4480 TIF$(CCD)=IP_NAME$
4490 CONNECT(273,135)-(273,113)-(399,113),%14
4500 CONNECT(274,135)-(399,135)-(399,114),%13
4510 LINE(274,114)-(398,134),PSET,%1,BF
4520 SYMBOL(336-LEN(TIF$(CCD))*4,116),TIF$(CCD),1,1,7
4530 IF IP_CK$=CHR$(&H1E) THEN GOTO *EDIT_LAB
4540 IF IP_CK$=CHR$(&H1F) THEN GOTO *EDIT_WRD
4550 RETURN
4560 *EDIT_LAB
4570 GET@A(274,89)-(623,111),PT3%
4580 LINE(274,89)-(623,111),PSET,7,BF,%1
4590 IP_WX=280:IP_WY=92:IP_MAX=42:IP_CL=1:IP_NAME$=LAB$(CCD)
4600 GOSUB *IP_SET
4610 WHILE IP_CK$<>CHR$(&HD) AND IP_CK$<>CHR$(&H1E) AND IP_CK$<>CHR$(&H1F)
4620 GOSUB *IP_MAIN:WEND
4630 GOSUB *IP_END
4640 LAB$(CCD)=IP_NAME$
4650 PUT@A(274,89)-(623,111),PT3%
4660 LINE(466,90)-(622,110),PSET,%1,BF
4670 IF LEN(LAB$(CCD))>18 THEN A$=LEFT$(LAB$(CCD),18) ELSE A$=LAB$(CCD)
4680 SYMBOL(544-LEN(A$)*4,92),A$,1,1,7
4690 IF IP_CK$=CHR$(&H1E) THEN GOTO *EDIT_DT
4700 IF IP_CK$=CHR$(&H1F) THEN GOTO *EDIT_TIF
4710 RETURN
4720 *EDIT_WRD
4730 CONNECT(465,135)-(465,113)-(623,113),%13
4740 CONNECT(466,135)-(623,135)-(623,114),%14
4750 IP_WX=472:IP_WY=116:IP_MAX=6:IP_CL=1:IP_NAME$=WRD$(CCD)
4760 LINE(466,114)-(622,134),PSET,%1,BF
4770 GOSUB *IP_SET
4780 WHILE IP_CK$<>CHR$(&HD) AND IP_CK$<>CHR$(&H1E) AND IP_CK$<>CHR$(&H1F)
4790 GOSUB *IP_MAIN:WEND
4800 GOSUB *IP_END
4810 WRD$(CCD)=IP_NAME$
4820 CONNECT(465,135)-(465,113)-(623,113),%14
4830 CONNECT(466,135)-(623,135)-(623,114),%13
4840 LINE(466,114)-(622,134),PSET,%1,BF
4850 SYMBOL(544-LEN(WRD$(CCD))*4,116),WRD$(CCD),1,1,7
4860 IF IP_CK$=CHR$(&H1E) THEN GOTO *EDIT_TIF
4870 IF IP_CK$=CHR$(&H1F) THEN CES=0:GOTO *EDIT_SNAME
4880 RETURN
4890 *EDIT_SNAME
4900 CONNECT(225,199+CES*24)-(225,177+CES*24)-(623,177+CES*24),%13
4910 CONNECT(226,199+CES*24)-(623,199+CES*24)-(623,178+CES*24),%14
4920 IP_WX=244:IP_WY=180+CES*24:IP_MAX=42:IP_CL=1
4930 IP_NAME$=SNAME$(CCD,CS+CES)
4940 GOSUB *IP_SET
4950 WHILE IP_CK$<>CHR$(&HD) AND IP_CK$<>CHR$(&H1E) AND IP_CK$<>CHR$(&H1F)
4960 GOSUB *IP_MAIN:WEND
4970 GOSUB *IP_END
4980 SNAME$(CCD,CS+CES)=IP_NAME$
4990 CONNECT(225,199+CES*24)-(225,177+CES*24)-(623,177+CES*24),%14
5000 CONNECT(226,199+CES*24)-(623,199+CES*24)-(623,178+CES*24),%13
5010 LINE(244,178+CES*24)-(580,198+CES*24),PSET,%1,BF
5020 SYMBOL(412-LEN(SNAME$(CCD,CS+CES))*4,180+CES*24),SNAME$(CCD,CS+CES),1,1,7
5030 IF IP_CK$=CHR$(&H1E) THEN
5040 IF CES>0 THEN CES=CES-1:GOTO *EDIT_SNAME
5050 IF CS+CES>1 THEN GOSUB *S_ROLL_U:GOTO *EDIT_SNAME
5060 GOTO *EDIT_WRD
5070 ENDIF
5080 IF IP_CK$=CHR$(&H1F) THEN
5090 IF CES<11 AND CES<SN(CCD)-1 THEN CES=CES+1:GOTO *EDIT_SNAME
5100 IF CS+CES<SN(CCD) THEN GOSUB *S_ROLL_D:GOTO *EDIT_SNAME
5110 ENDIF
5120 RETURN
5130 *SAVE
5140 CONNECT(225,23)-(225,1)-(303,1),%13
5150 CONNECT(226,23)-(303,23)-(303,2),%14
5160 WHILE MOUSE(2,0):WEND
5170 KILF=0
5180 CONNECT(225,23)-(225,1)-(303,1),%14
5190 CONNECT(226,23)-(303,23)-(303,2),%13
5200 GOSUB *FILE_IP_P
5210 SYMBOL(144,200),".CDLファイル保存",1,1,7
5220 GOSUB *FILE_IP_L
5230 IF KILF=1 THEN KILL FILE$
5240 OPEN "O",#1,FILE$
5250 A$=STR$(CDN):A$=RIGHT$("00000"+RIGHT$(A$,LEN(A$)-1),5)
5260 PRINT#1,A$
5270 FOR I=1 TO CDN
5280 PRINT#1,"##"
5290 PRINT#1,LEFT$(TITLE$(I)+SPACE$(42),42)
5300 PRINT#1,LEFT$(ART$(I)+SPACE$(42),42)
5310 PRINT#1,LEFT$(LAB$(I)+SPACE$(42),42)
5320 PRINT#1,LEFT$(DT$(I)+SPACE$(10),10)
5330 PRINT#1,RIGHT$(STR$(SN(I)),2)
5340 PRINT#1,LEFT$(TIF$(I)+SPACE$(8),8)
5350 PRINT#1,LEFT$(WRD$(I)+SPACE$(6),6)
5360 FOR J=1 TO SN(I)
5370 PRINT#1,TM$(I,J)
5380 PRINT#1,LEFT$(SNAME$(I,J)+SPACE$(42),42)
5390 NEXT J,I
5400 CLOSE
5410 RETURN
5420 *COPYRIGHT
5430 WHILE MOUSE(2,0):WEND
5440 GET@A(128,128)-(512,352),PT3%
5450 LINE(128,176)-(512,305),PSET,7,BF,%1
5460 SYMBOL(192,200),".CDLファイルエディタ",1,1,7
5470 SYMBOL(220,225),"CDLister Ver.1.1",1,1,%6
5480 SYMBOL(240,260),"Copyright (c) KIM 1994.",1,1,7
5490 WHILE MOUSE(2,0)=0 AND MOUSE(2,1)=0:WEND
5500 PUT@A(128,128)-(512,352),PT3%
5510 RETURN
5520 *EXIT
5530 CONNECT(617,23)-(617,1)-(639,1),%13
5540 CONNECT(618,23)-(639,23)-(639,2),%14
5550 WHILE MOUSE(2,0):WEND
5560 CONNECT(617,23)-(617,1)-(639,1),%14
5570 CONNECT(618,23)-(639,23)-(639,2),%13
5580 GOSUB *WINDOW
5590 SYMBOL(272,232),"終了します",1,1,7
5600 M=0
5610 WHILE M=0
5620 M=-MOUSE(2,0)-MOUSE(2,1)*2
5630 WEND
5640 IF M=2 THEN PUT@A(128,128)-(512,352),PT3%:RETURN *MAIN
5650 GOSUB *W_CHECK_YN
5660 IF YN=1 THEN
5670 MOUSE 5
5680 PUT@A(128,128)-(512,352),PT3%
5690 IF PLAYCD=1 OR PLAYCD=2 THEN CD STOP
5700 KILL"CDLVHIS.DAT"
5710 OPEN "O",#1,"CDLVHIS.DAT"
5720 PRINT#1,FILE$
5730 CLOSE
5740 END
5750 ENDIF
5760 IF YN=2 THEN PUT@A(128,128)-(512,352),PT3%:RETURN *MAIN
5770 GOTO 5600
5780 *WINDOW_S
5790 WINDOW(0,0)-(639-128,479-128):VIEW(128,128)-(639,479)
5800 LINE(0,0)-(384,224),PSET,7,BF,%1
5810 FOR I=0 TO 6
5820 LINE(16,40+I*24)-(368,64+I*24),PSET,%13,B
5830 CONNECT(17,63+I*24)-(17,41+I*24)-(367,41+I*24),%14
5840 CONNECT(18,63+I*24)-(367,63+I*24)-(367,42+I*24),%13
5850 NEXT
5860 FOR I=0 TO 1
5870 LINE(272+I*48,24)-(320+I*48,40),PSET,%13,B
5880 CONNECT(273+I*48,39)-(273+I*48,25)-(319+I*48,25),%14
5890 CONNECT(274+I*48,39)-(319+I*48,39)-(319+I*48,26),%13
5900 NEXT
5910 SYMBOL(294,29),"▲",.5!,.5!,%11
5920 SYMBOL(294+48,29),"▼",.5!,.5!,%11
5930 WINDOW:VIEW
5940 RETURN
5950 *WINDOW
5960 GET@A(128,128)-(512,352),PT3%
5970 LINE(128,192)-(512,289),PSET,7,BF,%1
5980 FOR I=0 TO 1
5990 LINE(408+I*48,256)-(456+I*48,280),PSET,%13,B
6000 CONNECT(409+I*48,279)-(409+I*48,257)-(455+I*48,257),%14
6010 CONNECT(410+I*48,279)-(455+I*48,279)-(455+I*48,258),%13
6020 NEXT
6030 SYMBOL(416,260),"実行",1,1,7
6040 SYMBOL(464,260),"取消",1,1,7
6050 RETURN
6060 *W_CHECK_YN
6070 MX=MOUSE(0):MY=MOUSE(1)
6080 YN=0
6090 FOR I=0 TO 1
6100 IF MX>408+I*48 AND MX<456+I*48 AND MY>256 AND MY<280 THEN
6110 CONNECT(409+I*48,279)-(409+I*48,257)-(455+I*48,257),%13
6120 CONNECT(410+I*48,279)-(455+I*48,279)-(455+I*48,258),%14
6130 YN=I+1
6140 ENDIF
6150 NEXT
6160 WHILE MOUSE(2,0):WEND
6170 RETURN
6180 *CDPLAY
6190 CONNECT(113,247)-(113,225)-(159,225),%13
6200 CONNECT(114,247)-(159,247)-(159,226),%14
6210 IF PLAYCD=1 THEN PLAYCD=2:CD PAUSE:GOTO 6290
6220 IF PLAYCD=2 THEN PLAYCD=1:CD CONT:GOTO 6290
6230 PLAYCD=1
6240 CDINF CDF%
6250 IF CDF%(1)=2 THEN GOTO 6290 ELSE IF CDF%(1)=3 THEN PLAYCDF=2 ELSE PLAYCDF=1
6260 PLAYCDN=PLAYCDF
6270 CD PLAY PLAYCDN,CDF%(5)
6280 GOSUB *SYMBOL_PLAYCD
6290 WHILE MOUSE(2,0):WEND
6300 CONNECT(113,247)-(113,225)-(159,225),%14
6310 CONNECT(114,247)-(159,247)-(159,226),%13
6320 RETURN
6330 *SYMBOL_PLAYCD
6340 LINE(200,228)-(224,244),PSET,0,BF
6350 SYMBOL(196,228),STR$(PLAYCDN),1,1,%12
6360 RETURN
6370 *CDSTOP
6380 CONNECT(161,247)-(161,225)-(199,225),%13
6390 CONNECT(162,247)-(199,247)-(199,226),%14
6400 IF PLAYCD=0 THEN 6440
6410 CD STOP
6420 PLAYCD=0
6430 LINE(200,228)-(224,244),PSET,0,BF
6440 WHILE MOUSE(2,0):WEND
6450 CONNECT(161,247)-(161,225)-(199,225),%14
6460 CONNECT(162,247)-(199,247)-(199,226),%13
6470 RETURN
6480 *CDBACK
6490 CONNECT(17,239)-(17,225)-(63,225),%13
6500 CONNECT(18,239)-(63,239)-(63,226),%14
6510 IF PLAYCD=0 THEN 6560
6520 PLAYCD=1
6530 IF CDS%(7)<2 AND PLAYCDN>PLAYCDF THEN PLAYCDN=PLAYCDN-1
6540 CD PLAY PLAYCDN,CDF%(5)
6550 GOSUB *SYMBOL_PLAYCD
6560 CONNECT(17,239)-(17,225)-(63,225),%14
6570 CONNECT(18,239)-(63,239)-(63,226),%13
6580 RETURN
6590 *CDNEXT
6600 CONNECT(65,239)-(65,225)-(111,225),%13
6610 CONNECT(66,239)-(111,239)-(111,226),%14
6620 IF PLAYCD=0 OR PLAYCDN>=CDF%(5) THEN 6670
6630 PLAYCD=1
6640 PLAYCDN=PLAYCDN+1
6650 CD PLAY PLAYCDN,CDF%(5)
6660 GOSUB *SYMBOL_PLAYCD
6670 CONNECT(65,239)-(65,225)-(111,225),%14
6680 CONNECT(66,239)-(111,239)-(111,226),%13
6690 RETURN
6700 *IP_SET
6710 '設定項目 IP_WX,IP_WY,IP_MAX,IP_CL,IP_NAME$
6720 WHILE INKEY$<>"":WEND
6730 LINE(IP_WX,IP_WY)-(IP_WX+IP_MAX*8,IP_WY+15),PSET,%IP_CL,BF
6740 SYMBOL(IP_WX,IP_WY),IP_NAME$,1,1,7
6750 IP_X=0:IP_J=0:IP_L=LEN(IP_NAME$):IP_CK$=""
6760 LINE(IP_WX+IP_X*8,IP_WY)-(IP_WX+IP_X*8,IP_WY+15),PSET,2
6770 RETURN
6780 *IP_MAIN
6790 IP_BNAME$=IP_NAME$
6800 IP_A$=""
6810 IP_B$=INKEY$:IF IP_B$<>"" THEN IP_A$=IP_A$+IP_B$:GOTO 6810
6820 IF IP_A$="" THEN RETURN
6830 FOR IP_I=1 TO KLEN(IP_A$)
6840 IP_CK$=KMID$(IP_A$,IP_I,1)
6850 IP_ACK=ASC(IP_CK$)
6860 IF IP_ACK<&H20 OR IP_ACK=&H7F THEN 6930
6870 IF LEN(IP_NAME$+IP_CK$)>IP_MAX THEN 6930
6880 IP_BX=IP_X
6890 IP_NAME$=LEFT$(IP_NAME$,IP_X)+IP_CK$+RIGHT$(IP_NAME$,IP_L-IP_X)
6900 IP_X=IP_X+LEN(IP_CK$):IP_L=LEN(IP_NAME$):IP_J=IP_J+1
6910 LINE(IP_WX+IP_BX*8,IP_WY)-(IP_WX+IP_X*8,IP_WY+15),PSET,%IP_CL,BF
6920 SYMBOL(IP_WX+IP_BX*8,IP_WY),IP_CK$,1,1,7
6930 NEXT
6940 IF IP_NAME$=IP_BNAME$ THEN 6980
6950 LINE(IP_WX+IP_X*8,IP_WY)-(IP_WX+IP_L*8,IP_WY+15),PSET,%IP_CL,BF
6960 SYMBOL(IP_WX+IP_X*8,IP_WY),RIGHT$(IP_NAME$,IP_L-IP_X),1,1,7
6970 LINE(IP_WX+IP_X*8,IP_WY)-(IP_WX+IP_X*8,IP_WY+15),PSET,2
6980 IF IP_ACK=8 THEN GOSUB *IP_BS
6990 IF IP_ACK=&H7F THEN GOSUB *IP_DEL
7000 IF IP_ACK=&H1D THEN GOSUB *IP_LEFT
7010 IF IP_ACK=&H1C THEN GOSUB *IP_RIGHT
7020 RETURN
7030 *IP_END
7040 LINE(IP_WX+IP_X*8,IP_WY)-(IP_WX+IP_X*8,IP_WY+15),PSET,%IP_CL
7050 RETURN
7060 *IP_BS
7070 IF IP_X=<0 THEN RETURN
7080 IP_A$=KLEFT$(IP_NAME$,IP_J-1)
7090 IP_B$=KRIGHT$(IP_NAME$,KLEN(IP_NAME$)-IP_J)
7100 IP_NAME$=IP_A$+IP_B$
7110 IP_BL=IP_L
7120 IP_X=LEN(IP_A$):IP_L=LEN(IP_NAME$):IP_J=IP_J-1
7130 LINE(IP_WX+IP_X*8,IP_WY)-(IP_WX+IP_BL*8,IP_WY+15),PSET,%IP_CL,BF
7140 SYMBOL(IP_WX+IP_X*8,IP_WY),IP_B$,1,1,7
7150 LINE(IP_WX+IP_X*8,IP_WY)-(IP_WX+IP_X*8,IP_WY+15),PSET,2
7160 RETURN
7170 *IP_DEL
7180 IF IP_X>=IP_L THEN RETURN
7190 IP_A$=KLEFT$(IP_NAME$,IP_J)
7200 IP_B$=KRIGHT$(IP_NAME$,KLEN(IP_NAME$)-IP_J-1)
7210 IP_NAME$=IP_A$+IP_B$
7220 IP_BL=IP_L
7230 IP_L=LEN(IP_NAME$)
7240 LINE(IP_WX+IP_X*8,IP_WY)-(IP_WX+IP_BL*8,IP_WY+15),PSET,%IP_CL,BF
7250 SYMBOL(IP_WX+IP_X*8,IP_WY),IP_B$,1,1,7
7260 LINE(IP_WX+IP_X*8,IP_WY)-(IP_WX+IP_X*8,IP_WY+15),PSET,2
7270 RETURN
7280 *IP_LEFT
7290 IF IP_X=<0 THEN RETURN
7300 IP_J=IP_J-1
7310 IP_BX=IP_X
7320 IP_X=LEN(KLEFT$(IP_NAME$,IP_J))
7330 LINE(IP_WX+IP_BX*8,IP_WY)-(IP_WX+IP_BX*8,IP_WY+15),PSET,%IP_CL
7340 SYMBOL(IP_WX+IP_BX*8,IP_WY),KMID$(IP_NAME$,IP_J+2,1),1,1,7
7350 LINE(IP_WX+IP_X*8,IP_WY)-(IP_WX+IP_X*8,IP_WY+15),PSET,2
7360 RETURN
7370 *IP_RIGHT
7380 IF IP_X>=IP_L THEN RETURN
7390 IP_J=IP_J+1
7400 IP_BX=IP_X
7410 IP_X=LEN(KLEFT$(IP_NAME$,IP_J))
7420 LINE(IP_WX+IP_BX*8,IP_WY)-(IP_WX+IP_BX*8,IP_WY+15),PSET,%IP_CL
7430 SYMBOL(IP_WX+IP_BX*8,IP_WY),KMID$(IP_NAME$,IP_J,1),1,1,7
7440 LINE(IP_WX+IP_X*8,IP_WY)-(IP_WX+IP_X*8,IP_WY+15),PSET,2
7450 RETURN
7460 *E_TRAP
7470 CLOSE
7480 IF ERL=270 THEN PLAYCD=0:RESUME 330
7490 IF ERL=3550 THEN PLAYCD=0:RESUME 3890
7500 IF ERL=6240 THEN PLAYCD=0:RESUME 6290
7510 IF ERL=140 THEN RESUME 170
7520 IF ERL=5700 THEN RESUME NEXT
7530 IF ERL=5710 THEN RESUME 5740
7540 IF ERL=1160 THEN
7550 GET@A(128,128)-(512,352),PT3%
7560 LINE(128,192)-(512,289),PSET,7,BF,%1
7570 SYMBOL(185,232),"指定したファイルはありませんよ?",1,1,7
7580 LINE(456,256)-(504,280),PSET,%13,B
7590 CONNECT(457,279)-(457,257)-(503,257),%14
7600 CONNECT(458,279)-(503,279)-(503,258),%13
7610 SYMBOL(464,260),"確認",1,1,7
7620 WHILE MOUSE(2,0)=0:WEND
7630 MX=MOUSE(0):MY=MOUSE(1)
7640 IF MX>456 AND MX<504 AND MY>256 AND MY<280 THEN ELSE 7620
7650 CONNECT(457,279)-(457,257)-(503,257),%13
7660 CONNECT(458,279)-(503,279)-(503,258),%14
7670 WHILE MOUSE(2,0):WEND
7680 PUT@A(128,128)-(512,352),PT3%
7690 RESUME *MAIN
7700 ENDIF
7710 IF ERL=2260 OR ERL=2270 OR ERL=3340 OR ERL=3350 THEN
7720 GET@A(128,128)-(512,352),PT3%
7730 LINE(128,192)-(512,289),PSET,7,BF,%1
7740 SYMBOL(220,232),"メモリが足りません スミマセン",1,1,7
7750 GOTO 7580
7760 ENDIF
7770 IF ERL=5240 OR ERL=5230 THEN
7780 GOSUB *WINDOW
7790 IF ERR=64 AND ERL=5240 THEN SYMBOL(232,232),"上書きしていいですか?",1,1,7:GOTO 7810
7800 SYMBOL(180,232),"書き込みができませんよ? チェックを!",1,1,7
7810 M=0
7820 WHILE M=0
7830 M=-MOUSE(2,0)-MOUSE(2,1)*2
7840 WEND
7850 IF M=2 THEN PUT@A(128,128)-(512,352),PT3%:RESUME 5410
7860 GOSUB *W_CHECK_YN
7870 IF YN=1 THEN
7880 IF ERR=64 AND ERL=5240 THEN KILF=1
7890 PUT@A(128,128)-(512,352),PT3%:RESUME 5230
7900 ENDIF
7910 IF YN=2 THEN PUT@A(128,128)-(512,352),PT3%:RESUME 5410
7920 GOTO 7810
7930 ENDIF
7940 SCREEN 0:CLS:PRINT"エラー行";ERL;" エラー番号";ERR
7950 MOUSE 5:END